home *** CD-ROM | disk | FTP | other *** search
/ TPUG - Toronto PET Users Group / TPUG Users Group CD / TPUG Users Group CD.iso / C64 / A-Monthly Disks / (c)abj.d64 / rockscissors (.txt) < prev    next >
Commodore BASIC  |  2007-02-04  |  9KB  |  281 lines

  1. 1 V=53248:S=54272:POKE53281,15:PRINT"[147]":GOSUB900
  2. 2 V=53248:S=54272:POKE53281,15:PRINT"[147]"
  3. 3 H(1)=65:H(2)=135:H(3)=205
  4. 4 M$="                     "
  5. 5 C$(0)=CHR$(144):C$(1)=CHR$(28):G$="         TIE"
  6. 6 D$=" SCISSORS CUT PAPER":E$=" ROCK BREAKS SCISSORS":F$=" PAPER COVERS ROCK"
  7. 7 Y$(2)="YES":Y$(1)="NO"
  8. 10 POKE53280,0:DIMA$(11):FORJ=0TO24:POKES+J,0:NEXT
  9. 20 MN$="[153]$":PR$=""
  10. 21 X=RND(-TI):CL=INT(RND(1)*4)+1
  11. 22 A$(1)="       ":B$(1)="[151]       "
  12. 23 A$(2)="[214][214][214][214][214][214][214]":B$(2)=" [155]     [151] "
  13. 25 A$(3)=" [215]   [215] ":B$(3)=" [155]     [151] "
  14. 30 A$(4)="   +   ":B$(4)=" [155]     [151] "
  15. 35 A$(5)=" [215]   [215] ":B$(5)=" [155]     [151] "
  16. 40 A$(6)="   +  [174]":B$(6)=" [155]     [151] "
  17. 45 A$(7)=" [215]   [215] ":B$(7)=" [155]     [151] "
  18. 50 A$(8)="   +   ":B$(8)=" [155]     [151] "
  19. 55 A$(9)="[214][214][214][214][214][214][214]":B$(9)=" [146]"+CL$(CL)+"[183][183][183][183][183][151] "
  20. 60 A$(10)="       ":B$(10)="[206]     [205][146]"
  21. 65 GOSUB790
  22. 70 INPUT"SPEED FAST (1 - 5) SLOW";FF
  23. 71 IFFF<1ORFF>5THENPRINT"                       ":GOTO70
  24. 72 CT=60-(FF*8):TC=FF*15:NN=13+(FF*2):MM=NN
  25. 73 PRINT"POSITION FINGERS OVER +[146] & -[146] KEYS AND"
  26. 74 PRINT"HIT ANY KEY TO BEGIN       "
  27. 75 GETS$:IFS$<>""THEN75
  28. 76 GETS$:IFS$=""THEN76
  29. 78 PRINT"                                     ":PRINT
  30. 79 PRINT"                      "
  31. 80 FORJ=1025TO1062:POKEJ,99:POKES+J,2:POKEJ+960,111:POKES+J+960,2:NEXT
  32. 82 POKE1024,79:POKES+1024,1:POKE1984,76:POKES+1984,1
  33. 84 POKE1063,80:POKES+1063,1:POKE2023,122:POKES+2023,1
  34. 86 FORJ=1064TO1944STEP40:POKEJ,116:POKES+J,2:POKEJ+39,106:POKES+J+39,2:NEXT
  35. 90 F$(1)="[144]PROFESSIONAL":F$(2)="[156]RECKLESS":F$(3)="MODERATE"
  36. 91 F$(4)="[158]CAUTIOUS":F$(5)="AMATEUR"
  37. 94 PRINT""TAB(192)"LEFT"
  38. 95 PRINTM$""F$(FF)
  39. 100 POKEV+39,11:POKEV+40,11:POKEV+27,3:GOSUB200:PRINT""TAB(232)"   [157][157][157]"MM
  40. 101 N=0:POKE2042,198:PRINTM$
  41. 102 PRINTPR$TAB(5)"[144]    "PR$TAB(5)SC:IFSC<-99THENGOTO675
  42. 103 IFSC>499THENGOTO675
  43. 104 IFMM<1THENPRINT"[145][145][145][145][145][145]OUT OF TURNS":GOTO680
  44. 122 FORX=3TO21STEP9:PRINT"":POKE646,C:C=C+1
  45. 124 FORA=1TO10:PRINTTAB(X)A$(A):NEXT:PRINTTAB(X+3)
  46. 125 NEXT:O=0
  47. 126 Y=INT(RND(1)*3)+1:Z=2+Y+ABS(1-Y)*8
  48. 135 PRINT"":GOSUB400
  49. 136 POKEV,H(Y)
  50. 140 FORA=1TO10:PRINTTAB(Z)B$(A):POKE54294,100+(A*10):FORT=1TO50 :NEXT:NEXT
  51. 141 POKEV+27,0
  52. 142 POKES+11,64:POKES+4,128
  53. 144 C=0
  54. 150 GETEN$:IFEN$<>""THEN150
  55. 151 TI$="000000"
  56. 152 GETEN$
  57. 155 IFEN$="+"THENN=2:GOSUB300:MM=MM-1:GOTO180
  58. 160 IFEN$="-"THENN=1:GOSUB300:MM=MM-1:N=0:GOTO180
  59. 165 IFTI>TCTHENPOKE53280,1:GOSUB600:PRINTM$"TIME":FORT=1TO400:NEXT:GOTO170
  60. 168 IFEN$<>"+"OREN$<>"-"THEN152
  61. 170 POKE53280,0:GOSUB300:MM=MM-1
  62. 180 GOSUB400:POKEV+27,3
  63. 185 PRINTM$C$W$:FORT=1TO300:NEXT
  64. 199 GOTO100
  65. 200 PK=INT(RND(1)*3)+1:KP=INT(RND(1)*3)
  66. 201 IFPK=KP+1ANDRND(1)<.6THEN200
  67. 202 ONPKGOSUB250,254,258
  68. 205 POKE2040,CH:POKE2041,193+KP
  69. 249 RETURN
  70. 250 CH=193
  71. 251 RETURN
  72. 254 CH=194
  73. 255 RETURN
  74. 258 CH=195
  75. 259 RETURN
  76. 260 POKEV+27,3
  77. 262 FORX=3TO21STEP9:PRINT"":POKE646,C:C=C+1
  78. 264 FORA=1TO10:PRINTTAB(X)A$(A):NEXT:PRINTTAB(X+3)
  79. 266 NEXT:O=0:C=0
  80. 299 RETURN
  81. 300 PRINTM$Y$(N):IFPK=KP+1ANDN>0THENPOKE2042,199:SC=SC-CT
  82. 301 IFCH<>193THEN320
  83. 304 IFKP=0THENW$=G$:MM=MM+1:SC=SC-(10*(N=0)):RETURN
  84. 308 IFKP=1THENF=2:W$=E$:IFN>0THENGOTO316
  85. 312 IFKP=2THENF=1:W$=D$:SC=SC+((4+CT)*(N=0))
  86. 315 IFF=1THENI=1:L=3:II=0
  87. 316 IFF=2THENI=3:L=1:SP=-8
  88. 317 IFN>0THENONKPGOTO375,380
  89. 318 ONFGOSUB700,720,90
  90. 319 RETURN
  91. 320 IFCH<>194THEN340
  92. 324 IFKP=0THENF=2:KP=1:W$=E$:SC=SC+((4+CT)*(N=0)):GOTO335
  93. 328 IFKP=1THENW$=G$:MM=MM+1:SC=SC-(10*(N=0)):RETURN
  94. 332 IFKP=2THENF=3:W$=F$:GOTO336
  95. 333 IFC$=""THENPOKEV+39,2
  96. 334 IFC$="[144]"THENPOKEV+40,2
  97. 335 IFF=2THENI=1:L=3:SP=8
  98. 336 IFF=3THENI=3:L=1:SP=-8
  99. 337 IFN>0THENONKPGOTO380,375
  100. 338 ONFGOSUB339,720,740
  101. 339 RETURN
  102. 340 IFKP=0THENF=1:W$=D$:IFN>0THENKP=1:GOTO350
  103. 344 IFKP=1THENF=3:W$=F$:SC=SC+((4+CT)*(N=0)):IFN>0THENKP=2:GOTO354
  104. 348 IFKP=2THENW$=G$:MM=MM+1:SC=SC-(10*(N=0)):RETURN
  105. 350 IFF=1THENI=3:L=1:II=1
  106. 354 IFF=3THENI=1:L=3:SP=8
  107. 356 IFN>0THENONKPGOTO375,380
  108. 357 ONFGOSUB700,720,740
  109. 359 RETURN
  110. 375 IFN=2THENSC=SC+8+CT+(30-MM):POKE2042,200:GOTO379
  111. 376 SC=SC-4-CT:POKE2042,199:GOSUB650
  112. 377 ONFGOSUB700,720,740
  113. 379 N=0:F=0:KP=0:RETURN
  114. 380 IFN=2THENSC=SC-12-CT-(30-MM):POKE2042,199:GOSUB650:GOTO383
  115. 381 SC=SC+8+CT:POKE2042,200
  116. 382 GOTO385
  117. 383 ONFGOSUB700,720,740
  118. 385 N=0:F=0:KP=0:RETURN
  119. 400 POKE 54293,0:POKE 54294,100
  120. 401 POKE 54295,3:POKE 54296,31
  121. 402 POKE 54272,135:POKE 54273,33
  122. 403 POKE 54274,96:POKE 54275,4
  123. 404 POKE 54277,155:POKE 54278,235
  124. 405 POKE 54279,81:POKE 54280,1
  125. 406 POKE 54281,12:POKE 54282,9
  126. 407 POKE 54284,31:POKE 54285,86
  127. 408 POKE 54283,65:POKE 54276,129
  128. 410 FORT=1TO300:NEXT
  129. 425 RETURN
  130. 500 POKE 54293,0:POKE 54294,128
  131. 501 POKE 54295,32:POKE 54296,47
  132. 502 POKE 54286,143:POKE 54287,12
  133. 503 POKE 54288,0:POKE 54289,4
  134. 504 POKE 54291,80:POKE 54292,0
  135. 505 POKE 54290,129
  136. 520 POKE 54290,128
  137. 525 RETURN
  138. 530 POKE 54293,0:POKE 54294,128
  139. 531 POKE 54295,32:POKE 54296,47
  140. 532 POKE 54286,60:POKE 54287,50
  141. 533 POKE 54288,0:POKE 54289,4
  142. 534 POKE 54291,0:POKE 54292,139
  143. 535 POKE 54290,129
  144. 550 POKE 54290,128
  145. 555 RETURN
  146. 560 POKE 54293,0:POKE 54294,128
  147. 561 POKE 54295,32:POKE 54296,47
  148. 562 POKE 54286,121:POKE 54287,100
  149. 563 POKE 54288,112:POKE 54289,9
  150. 564 POKE 54291,8:POKE 54292,0
  151. 585 RETURN
  152. 600 POKE 54293,0:POKE 54294,128
  153. 601 POKE 54295,32:POKE 54296,47
  154. 602 POKE 54279,115:POKE 54280,106
  155. 603 POKE 54281,0:POKE 54282,4
  156. 604 POKE 54284,6:POKE 54285,0
  157. 605 POKE 54286,107:POKE 54287,47
  158. 606 POKE 54288,0:POKE 54289,4
  159. 607 POKE 54291,6:POKE 54292,0
  160. 608 POKE 54290,65:POKE 54283,65
  161. 620 POKE 54290,64:POKE 54283,64
  162. 630 RETURN
  163. 650 POKE 54293,0:POKE 54294,128
  164. 651 POKE 54295,32:POKE 54296,47
  165. 652 POKE 54279,83:POKE 54280,3
  166. 653 POKE 54281,0:POKE 54282,4
  167. 654 POKE 54284,6:POKE 54285,0
  168. 655 POKE 54286,237:POKE 54287,5
  169. 656 POKE 54288,0:POKE 54289,4
  170. 657 POKE 54291,6:POKE 54292,0
  171. 658 POKE 54290,65:POKE 54283,65
  172. 670 POKE 54290,64:POKE 54283,64
  173. 674 RETURN
  174. 675 IFSC<-99THENPRINTM$"[145]YOU FAILED! "F$(FF)"LY":POKE2042,199:GOSUB697:GOTO680
  175. 677 SC=SC+(MM*INT(100/FF)):PRINTPR$TAB(5)"[144]    "PR$TAB(5)SC
  176. 678 PRINTM$"[145]YOU DID IT! "F$(FF)"LY":POKE2042,200:GOSUB695
  177. 680 FORJ=0TO24:POKES+J,0:NEXT:PRINT"PLAY AGAIN? (Y/N)"
  178. 682 GETS$:IFS$<>""THEN682
  179. 684 GETS$:IFS$=""THEN684
  180. 685 IFS$="N"THENSTOP
  181. 690 RUN2
  182. 695 FORJ=1TO20:POKE2042,198+JG:JG=ABS(JG-2):FORT=1TO50:NEXT:NEXT:RETURN
  183. 697 FORJ=1TO10:POKE2042,198+JG:JG=ABS(JG-1):FORT=1TO100:NEXT:NEXT:RETURN
  184. 700 POKE2042,199
  185. 701 VP=PEEK(V+I):HP=PEEK(V+I-1):POKEV+I-1,PEEK(V+L-1)-20:POKEV+I,PEEK(V+L)
  186. 702 FORSH=PEEK(V+I-1)TOPEEK(V+L-1)
  187. 703 POKEV+I-1,SH:POKE2040+II,192+Q:Q=ABS(Q-1):GOSUB500
  188. 704 IFSH=PEEK(V+L-1)-8THENPOKE2040+L/2,196
  189. 706 NEXT:F=0:FORT=1TO500:NEXT:POKE2040+L/2,195:POKEV+I,VP:POKEV+I-1,HP
  190. 709 I=0:L=0:II=0:RETURN
  191. 720 POKE2042,199:VP=PEEK(V+I):HP=PEEK(V+I-1):VV=V+I-1
  192. 721 GOSUB560:FORSH=PEEK(V+I)TOPEEK(V+L)STEPSP
  193. 722 POKEV+I,SH:FORT=1TO10:NEXT
  194. 723 POKEVV,PEEK(VV)+(8*(PEEK(VV)>PEEK(V+L-1)))-(8*(PEEK(VV)<PEEK(V+L-1)))
  195. 724 POKES+24,0:POKES+24,47
  196. 726 NEXT:F=0:POKES+18,65:POKES+18,64:FORT=1TO500:NEXT:POKEV+I,VP:POKEV+I-1,HP
  197. 729 POKE2040+(L/2),192:I=0:L=0:SP=0:RETURN
  198. 740 POKE2042,199:VP=PEEK(V+I):HP=PEEK(V+I-1):VV=V+I-1
  199. 741 FORSH=PEEK(V+I)TOPEEK(V+L)STEPSP
  200. 742 POKEV+I,SH:FORT=1TO10:NEXT
  201. 743 POKEVV,PEEK(VV)+(8*(PEEK(VV)>PEEK(V+L-1)))-(8*(PEEK(VV)<PEEK(V+L-1)))
  202. 744 NEXT:F=0:POKEV+21,5:POKE2040,197:GOSUB530:FORT=1TO999:NEXT
  203. 745 POKEV+I,VP:POKEV+I-1,HP
  204. 747 POKE2040,194:POKEV+21,7
  205. 748 I=0:L=0:SP=0
  206. 749 RETURN
  207. 790 PRINT"[207][183][183][183][183][208]"
  208. 792 PRINT"[180]    [170]"
  209. 794 PRINT"[180]    [170]"
  210. 796 PRINT"[204][175][175][175][175][186]"
  211. 800 PRINT"":PRINT"[151]    [207][183][183][183][183][183][208]"
  212. 801 PRINT"    [180]     [170] [180]      [170] "
  213. 802 PRINT"    [204][175][175][175][175][175][186] [180]      [170] "
  214. 803 PRINT"            [180]      [170] "
  215. 804 PRINT"            [180]      [170] "
  216. 805 PRINT"            [180]+ OR -[170] "
  217. 806 PRINT"            [204][175][175][175][175][175][175][186] "
  218. 810 RETURN
  219. 900 FORJ=12288TO12288+511+63:READR:POKEJ,R:NEXT
  220. 901 POKEV+37,1:POKEV+38,0:FORJ=39TO42:POKEV+J,11:NEXT:GOSUB950
  221. 902 POKEV+21,7:POKEV+28,3:POKE2040,192:POKE2041,195:POKE2042,198
  222. 904 POKEV+2,140:POKEV+3,200:POKEV+1,100:POKEV,135
  223. 906 POKEV+28,3:POKEV+23,4:POKEV+29,4
  224. 910 POKEV+4,250:POKEV+5,190
  225. 949 RETURN
  226. 950 POKEV+21,15:POKEV+28,7:POKEV+23,0:POKEV+29,0:PRINT"[144]ROCK"
  227. 952 POKE2040,194:POKEV,0:POKEV+1,66
  228. 954 FORJ=1TO120STEP2:POKEV,J:POKES+24,0:POKES+24,47:FORT=1TO20:NEXT:NEXT
  229. 956 PRINT"PAPER":POKEV+2,0:POKEV+3,90:POKE2041,195
  230. 958 GOSUB530:FORJ=1TO120STEP4:POKEV+2,J:FORT=1TO20:NEXT:NEXT
  231. 960 PRINT"[152]SCISSORS"
  232. 961 POKEV+4,0:POKEV+5,114:POKE2042,193
  233. 962 FORJ=1TO123STEP4
  234. 964 POKEV+4,J:POKE2042,192+Q:Q=ABS(Q-1):GOSUB500:FORT=1TO20:NEXT:NEXT
  235. 970 POKEV+42,11:POKEV+23,8:POKEV+29,8:POKEV+6,0:POKEV+7,80:POKE2043,198
  236. 972 FORJ=1TO200STEP4
  237. 974 POKEV+6,J:FORT=1TO20:NEXT:NEXT:GOSUB600:POKE2043,200:FORT=1TO1000:NEXT
  238. 976 PRINT"[151]THIS IS A GAME OF TIMING. AT BOTTOM"
  239. 978 PRINT"YOU'RE SHOWN EITHER ROCK, PAPER OR"
  240. 980 PRINT"SCISSORS. WHEN A DOOR ROLLS OPEN, YOU"
  241. 982 PRINT"MUST HIT EITHER THE +[146][151] OR -[146][151] KEY OR DO"
  242. 984 PRINT"NOTHING[151] DEPENDING ON THE TYPE OF"
  243. 986 PRINT"OBJECT THAT APPEARS. YOU ARE AWARDED"
  244. 987 PRINT"POINTS FOR GUESSING CORRECTLY, LOSE"
  245. 988 PRINT"POINTS GUESSING INCORRECTLY OR FOR"
  246. 990 PRINT"HITTING A KEY WHEN THERE'S A TIE."
  247. 992 PRINT"YOU ARE TIMED ON EACH GUESS AND YOUR"
  248. 993 PRINT"GOAL IS 500 PTS. IN # OF TURNS ALLOWED."
  249. 994 PRINT"HIT A KEY TO BEGIN"
  250. 995 GETA$:IFA$<>""THEN995
  251. 996 GETA$:IFA$=""THEN996
  252. 999 RETURN
  253. 1000 DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,234,0,10,130,0,40,130,128
  254. 1001 DATA 160,234,162,128,0,186,0,0,206,0,234,186,128,130,160,160,130,128,40
  255. 1002 DATA 234,0,10,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,63,0,0,0,0,0,0,0,0,0,0,0,0,0
  256. 1003 DATA 0,0,0,0,0,0,0,0,234,0,0,130,0,0,130,160,0,234,186,168,234,206,171,130
  257. 1004 DATA 186,168,130,160,0,234,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,63,0
  258. 1005 DATA 0,0,0,0,0,0,0,0,0,60,0,0,175,0,2,190,0,10,238,160,11,254,168,47,187
  259. 1006 DATA 184,46,239,250,190,239,250,190,175,234,191,191,238,190,255,175,46,255
  260. 1007 DATA 188,42,191,232,10,191,160,2,170,160,0,42,128,0,10,0,0,0,0,63,0,0,0
  261. 1008 DATA 0,0,0,0,0,0,170,170,170,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85
  262. 1009 DATA 85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85
  263. 1010 DATA 85,85,85,85,85,85,85,170,170,170,0,0,0,63,0,0,0,0,0,0,0,0,0,255,255
  264. 1011 DATA 255,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85
  265. 1012 DATA 255,255,255,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85
  266. 1013 DATA 85,85,170,170,170,0,0,0
  267. 1503 DATA 63,0,0,0,0,0,0,10,56,0,37,87,0,85,85,128,85,85,96,149
  268. 1504 DATA 85,88,149,85,88,149,85,86,150,239,85,158,175,213,191,191,229,190,255
  269. 1505 DATA 165,46,255,189,42,191,233,10,191,162,2,170,160,0,42,128,0,10,0,0,0,0
  270. 1506 DATA 0,0,0,0:REM*** ,0,0,0
  271. 2000 DATA 0,124,0,1,131,0,6,0,192,8,0,32,16,0,16,111,131,236,207,199,230
  272. 2001 DATA 200,40,38,248,56,62,201,41,38,207,199,230,96,16,12,32,0,8,16,254,16,9
  273. 2002 DATA 131,32,11,125,160,7,1,192,3,131,128,1,255,0,1,255,0,0,254,0,63,0
  274. 2003 DATA 124,0,1,131,0,6,0,192,8,0,32,22,0,208,111,131,236,207,199,230,200,40
  275. 2004 DATA 38,249,57,62,200,40,38,207,199,230,96,16,12,32,124,8,16,254,16,9,131
  276. 2005 DATA 32,11,57,160,7,57,192,3,131,128,1,255,0,1,255,0,0,254
  277. 3000 DATA 0,0,0,124,0,1,131,0,6,0,192,8,0,32,22,0,208,111,131,236,204,198,102
  278. 3001 DATA 200,40,38,251,57,190,200,40,38,207,199,230,96,16,12,38,0,200,19,255
  279. 3002 DATA 144,10,198,160,11,125,160,7,57,192,3,131,128,1,255,0,1,255,0,0,254,0
  280. 3003 DATA 0
  281.